From: Florian Müllner Date: Fri, 22 Mar 2013 18:21:04 +0000 (+0100) Subject: grabHelper: Consider events that release the grab handled X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4408 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f8ea825577e43cdd1ae816509de7e69d1cd083e8;p=gnome-shell.git grabHelper: Consider events that release the grab handled Currently, if a button-press event results in releasing the last modal grab (e.g. clicks outside the grabbed actors), we don't consider the event handled and allow its emission to continue. If we consider dismissing a grab as an action of its own, any additional action triggered by the same event becomes an unexpected side effect. Tweak the capture handler accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=696422 --- diff --git a/js/ui/grabHelper.js b/js/ui/grabHelper.js index 0eed19bd4..9f1374ed7 100644 --- a/js/ui/grabHelper.js +++ b/js/ui/grabHelper.js @@ -355,6 +355,7 @@ const GrabHelper = new Lang.Class({ this._ignoreRelease = true; let i = this._actorInGrabStack(event.get_source()) + 1; this.ungrab({ actor: this._grabStack[i].actor, isUser: true }); + return true; } return this._modalCount > 0;